#!/bin/bash

# TD序列（神奇九转）监控服务启动脚本

# 设置环境变量
export NODE_ENV=production

# 当前目录
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
ROOT_DIR="$(dirname "$DIR")"

# 日志目录
LOG_DIR="$ROOT_DIR/logs"
mkdir -p $LOG_DIR

# 日志文件
LOG_FILE="$LOG_DIR/td_monitor.log"

# 记录启动时间
echo "=======================================" >> $LOG_FILE
echo "启动时间: $(date)" >> $LOG_FILE

# 停止现有实例
echo "检查是否有运行中的TD监控服务..." >> $LOG_FILE
running_pid=$(ps aux | grep "node.*monitor_td_sequence\.js" | grep -v grep | awk '{print $2}')

if [ ! -z "$running_pid" ]; then
    echo "发现运行中的TD监控服务，进程ID：$running_pid，正在停止..." >> $LOG_FILE
    kill $running_pid
    sleep 2
    
    # 检查是否成功终止
    if ps -p $running_pid > /dev/null; then
        echo "无法正常终止进程 $running_pid，尝试强制终止..." >> $LOG_FILE
        kill -9 $running_pid
    fi
    
    echo "已停止运行中的TD监控服务" >> $LOG_FILE
else
    echo "没有发现运行中的TD监控服务" >> $LOG_FILE
fi

# 启动服务
echo "正在启动TD序列监控服务..." >> $LOG_FILE
cd $ROOT_DIR
nohup node scripts/monitor_td_sequence.js >> $LOG_FILE 2>&1 &

# 获取PID
PID=$!
echo "TD序列监控服务已启动，进程ID: $PID" >> $LOG_FILE
echo $PID > $LOG_DIR/td_monitor.pid

# 显示启动状态
echo "TD序列监控服务已启动"
echo "进程ID: $PID"
echo "日志文件: $LOG_FILE" 